package com.station.Activitys.adapter;

import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

import com.amap.api.maps.AMap;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker;
import com.station.Activitys.R;

/**
 * 项目名称：基站管理平台 手机app
 * 类描述：自定义地图信息框
 * 创建人：张飞祥
 * 创建时间：2018/11/19 10:52
 * 修改人：张飞祥
 * 修改时间：2018/11/19 10:52
 * 修改备注：
 */
public class WindowAdapter implements AMap.InfoWindowAdapter, AMap.OnMarkerClickListener,
        AMap.OnMapClickListener,AMap.OnInfoWindowClickListener{

    private Context context;
    private Marker  mMarker;
    private static final String TAG = "WindowAdapter";

    public WindowAdapter(Context context) {
        this.context = context;
    }

    @Override
    public View getInfoWindow(Marker marker) {
        if (!marker.getTitle().equals("")){
            //初始化 marker
            this.mMarker = marker;
            //关联布局
            View view = LayoutInflater.from(context).inflate(R.layout.layout_inforwindow, null);
            //标题
            TextView tvTitle = (TextView) view.findViewById(R.id.tv_title);
            //地址信息
            TextView tvContent = (TextView) view.findViewById(R.id.tv_content);

            tvTitle.setText(marker.getTitle());
            tvContent.setText(marker.getSnippet());
            return view;
        }
        return null;
    }

    //如果用自定义的布局，不用管这个方法,返回null即可
    @Override
    public View getInfoContents(Marker marker) {
        return null;
    }

    // marker 对象被点击时回调的接口
    // 返回 true 则表示接口已响应事件，否则返回false
    @Override
    public boolean onMarkerClick(Marker marker) {
        return true;
    }

    //绑定信息窗点击事件
    @Override
    public void onInfoWindowClick(Marker marker) {
        Log.e(TAG, "InfoWindow被点击了");
    }

    @Override
    public void onMapClick(LatLng latLng) {
        //点击其它地方隐藏infoWindow
        if (mMarker!=null){
            mMarker.hideInfoWindow();
        }
    }
}
